Many different enterprises run complex networks of servers to implement various automated communication functions for the enterprise. For example, as mobile wireless communications have become increasingly popular, carriers such as Verizon Wireless™ have customer communication systems to provide notifications of account related activities to their customers, for example, as emails and/or as Short Message Service (SMS) messages to account holders' mobile stations. Because of the large number of customers served by a major carrier, and the level of account activities, the volume of notification message traffic is fairly large. To effectively provide such notifications, Verizon Wireless™ implemented its Customer Communication Enterprise Services (CCES) as an enterprise middleware web service.
At a high level, the CCES middleware comprises a web server layer and an application server layer. The architecture allows clients to send a request, for example for a notification, to a web server. The http web server then forwards the client request to one of a number of application servers. Each application server has multiple applications running on it. The application server determines the proper application to process the client request based on the context root of the client request. The application server processes the client request, in the CCES example, by sending one or more request messages to a backend system such as the Vision Billing System, MTAS, the SMS gateway and others, for example, to implement account activity and to initiate subsequent automatic notification thereof to the account holder. Once the application server has processed the request, a reply is then sent back to the web server which will then forward the reply back to the client.
In such an arrangement, the increasing number of applications in the distributed processing system creates more demand for audit data from the applications to enable trouble shooting of production or operations issues. Presently, applications generate log files containing the entire log statements. In order to conduct an audit, log files are scanned at the end of night, and information is logged into a database. Similarly, to identify errors and generate error files, keywords in log files are searched. This is an inefficient and time consuming process. Hence, a need exists for improved techniques for generating audit data and/or reporting errors in the context of an enterprise distributed application data processing system.